﻿do
	IGAS:NewAddon("IGAS_Studio")

	local _DB

	------------------------------------------------------------
	-- ScriptType
	------------------------------------------------------------
	_DB = CreateHelpDB(IGAS.GUI.Widget.FontString, "ScriptType")
	_DB:SetBaseHelpDB(CreateHelpDB(IGAS.GUI.Widget.LayeredRegion, "ScriptType"))

	------------------------------------------------------------
	-- Function
	------------------------------------------------------------
	_DB = CreateHelpDB(IGAS.GUI.Widget.FontString, "Function")
	_DB:SetBaseHelpDB(CreateHelpDB(IGAS.GUI.Widget.LayeredRegion, "Function"))

	_DB:AddCodeHelp("SetJustifyV", [=[Sets the font instance's horizontal text alignment style]=], [=[SetJustifyV("justify")]=])
	_DB:AddCodeHelp("GetFont", [=[Returns the font instance's basic font properties]=], [=[GetFont()]=])
	_DB:AddCodeHelp("SetFormattedText", [=[Sets the button's label text using format specifiers]=], [=[SetFormattedText("formatString", ...)]=])
	_DB:AddCodeHelp("GetJustifyH", [=[Returns the font instance's horizontal text alignment style]=], [=[GetJustifyH()]=])
	_DB:AddCodeHelp("SetText", [=[Sets the text displayed as the button's label]=], [=[SetText("text")]=])
	_DB:AddCodeHelp("SetAlphaGradient", [=[Creates an opacity gradient over the text in the font string]=], [=[SetAlphaGradient(start, length)]=])
	_DB:AddCodeHelp("SetFontObject", [=[Sets the `Font` object from which the font instance's properties are inherited]=], [=[SetFontObject("name")]=])
	_DB:AddCodeHelp("GetText", [=[Returns the text of the button's label]=], [=[GetText()]=])
	_DB:AddCodeHelp("GetStringWidth", [=[Returns the width of the text displayed in the font string]=], [=[GetStringWidth()]=])
	_DB:AddCodeHelp("GetShadowOffset", [=[Returns the offset of the font instance's text shadow from its text]=], [=[GetShadowOffset()]=])
	_DB:AddCodeHelp("SetTextColor", [=[Sets the font instance's default text color]=], [=[SetTextColor(textR, textG, textB, textAlpha)]=])
	_DB:AddCodeHelp("SetShadowColor", [=[Sets the color of the font's text shadow]=], [=[SetShadowColor(shadowR, shadowG, shadowB, shadowAlpha)]=])
	_DB:AddCodeHelp("GetAnimationGroups", [=[Returns a list of animation groups belonging to the region]=], [=[GetAnimationGroups()]=])
	_DB:AddCodeHelp("GetMultilineIndent", [=[]=], [=[]=])
	_DB:AddCodeHelp("GetTextColor", [=[Returns the font instance's default text color]=], [=[GetTextColor()]=])
	_DB:AddCodeHelp("SetMultilineIndent", [=[]=], [=[]=])
	_DB:AddCodeHelp("SetSpacing", [=[Sets the font instance's amount of spacing between lines]=], [=[SetSpacing(spacing)]=])
	_DB:AddCodeHelp("GetStringHeight", [=[Returns the height of the text displayed in the font string]=], [=[GetStringHeight()]=])
	_DB:AddCodeHelp("GetJustifyV", [=[Returns the font instance's vertical text alignment style]=], [=[GetJustifyV()]=])
	_DB:AddCodeHelp("GetSpacing", [=[Returns the font instance's amount of spacing between lines]=], [=[GetSpacing()]=])
	_DB:AddCodeHelp("SetNonSpaceWrap", [=[Sets whether long lines of text will wrap within or between words]=], [=[SetNonSpaceWrap(enable)]=])
	_DB:AddCodeHelp("SetJustifyH", [=[Sets the font instance's horizontal text alignment style]=], [=[SetJustifyH("justify")]=])
	_DB:AddCodeHelp("SetFont", [=[Sets the font instance's basic font properties]=], [=[SetFont("filename", fontHeight, "flags")]=])
	_DB:AddCodeHelp("SetParent", [=[Sets the parent for the animation]=], [=[SetParent("animGroupName")]=])
	_DB:AddCodeHelp("CanNonSpaceWrap", [=[Returns whether long lines of text will wrap within or between words]=], [=[CanNonSpaceWrap()]=])
	_DB:AddCodeHelp("CanChangeProtectedState", [=[Returns whether protected properties of the region can be changed by non-secure scripts]=], [=[CanChangeProtectedState()]=])
	_DB:AddCodeHelp("GetFontObject", [=[Returns the `Font` object from which the font instance's properties are inherited]=], [=[GetFontObject()]=])
	_DB:AddCodeHelp("GetShadowColor", [=[Returns the color of the font's text shadow]=], [=[GetShadowColor()]=])
	_DB:AddCodeHelp("SetShadowOffset", [=[Sets the offset of the font instance's text shadow from its text]=], [=[SetShadowOffset(xOffset, yOffset)]=])
	_DB:AddCodeHelp("SetTextHeight", [=[Scales the font string's rendered text to a different height]=], [=[SetTextHeight(height)]=])
	------------------------------------------------------------
	-- Property
	------------------------------------------------------------
	_DB = CreateHelpDB(IGAS.GUI.Widget.FontString, "Property")
	_DB:SetBaseHelpDB(CreateHelpDB(IGAS.GUI.Widget.LayeredRegion, "Property"))

	_DB:AddCodeHelp("NonSpaceWrap", [[whether long lines of text will wrap within or between words]], IGAS:GetPropertyType("boolean"))
	_DB:AddCodeHelp("ShadowOffset", [[the offset of the fontstring's text shadow from its text]], IGAS:GetPropertyType("Offset"))
	_DB:AddCodeHelp("JustifyV", [[the fontstring's vertical text alignment style]], IGAS:GetPropertyType("JustifyV"))
	_DB:AddCodeHelp("Text", [[the text to be displayed in the font string]], IGAS:GetPropertyType("string"))
	_DB:AddCodeHelp("Font", [[the font's defined table, contains font path, height and flags' settings]], IGAS:GetPropertyType("FontTable"))
	_DB:AddCodeHelp("JustifyH", [[the fontstring's horizontal text alignment style]], IGAS:GetPropertyType("JustifyH"))
	_DB:AddCodeHelp("Spacing", [[the fontstring's amount of spacing between lines]], IGAS:GetPropertyType("number"))
	_DB:AddCodeHelp("ShadowColor", [[the color of the font's text shadow]], IGAS:GetPropertyType("Color"))
	_DB:AddCodeHelp("TextColor", [[the fontstring's default text color]], IGAS:GetPropertyType("Color"))
	_DB:AddCodeHelp("StringHeight", [[the height of the text displayed in the font string]], IGAS:GetPropertyType("number"))
	_DB:AddCodeHelp("StringWidth", [[Readonly, the width of the text displayed in the font string]], IGAS:GetPropertyType("number"))
	_DB:AddCodeHelp("FontObject", [[the `Font` object]], IGAS:GetPropertyType("Font"))
end
